Storage of data on networks is one way to enable multiple devices access to the same data as well as providing back-up storage of the data. This is a common way for companies and enterprises to store their data on e.g. servers. This way of storing data does not result in any substantial security problems for the companies, as only company employees and thus no external users are allowed access to the data.
However, when users want to store data on a network to which other users that are not necessarily trusted have access, the users may be hesitant to put sensitive data such as personal information on the network storage server, because they are afraid that someone who has access to the storage server (an administrator, a hacker who breaks into the storage server etc.) will be able to access their sensitive data. A common and simple technique to provide a measure of security to the data is to encrypt the data using a password. However, passwords typically require manual entry by the user. In practice, this limits the length of a usable password and the number of possible passwords, which makes password based security system vulnerable to attacks. To mitigate the user's doubts regarding network storage, it is desirable to give the user the possibility to grant only a set of devices, which are selected by the user, access to the data. The devices included in the set are referred to as “authorized devices”. An authorized domain is typically defined as a group of trusted devices—domain member devices—that are permitted to access a set of resources or services. In this authorized domain, the level of security should be rather high, which is normally not the case where passwords are employed. It should also be possible for domain members to access the same data simultaneously, and this should typically not require the concerned devices to communicate directly with each other. For this reason, employing solutions based on a single, access-enabling smartcard instead of passwords is not adequate.
One of the major problems associated with authorized domains is the distribution and management of encryption/decryption keys to domain members/devices. Another major problem that will be encountered when designing authorized domains is the resulting tradeoff that has to be made between a high level of security on the one hand and the desire to inhibit the complexity in the handling of the encryption/decryption keys on the other. Typically, a high level of security implies a complex and advanced key management operation.